from PublicReference.base import *
from math import *

# class 主动技能(主动技能):
#     def 等效CD(self, 武器类型):
#         if 武器类型 == '太刀':
#             return round(self.CD / self.恢复 * 1, 1)
#         if 武器类型 == '短剑':
#             return round(self.CD / self.恢复 * 1.05, 1)


class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    基础等级 = 100
    关联技能 = ['鬼影步']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = '鬼斩'
    备注 = '(蓄力&噬灵鬼斩)'
    所在等级 = 1
    等级上限 = 60
    基础等级 = 51
    CD = 6.0
    TP成长 = 0.08
    TP上限 = 5
    data1 = [0, 923, 1036, 1151, 1264, 1376, 1488, 1602, 1718, 1831, 1944, 2054, 2171, 2280, 2392, 2505, 2621, 2731, 2844, 2959, 3069, 3188, 3300, 3411, 3524, 3638, 3749, 3865, 3977, 4090, 4202, 4316, 4428, 4545, 4658,
             4769, 4881, 4994, 5109, 5220, 5334, 5445, 5558, 5673, 5785, 5898, 6013, 6125, 6238, 6353, 6465, 6578, 6691, 6806, 6915, 7032, 7143, 7256, 7372, 7484, 7596, 7710, 7823, 7934, 8049, 8160, 8271, 8384, 8500, 8612, 8727]
    data2 = [0, 897, 1008, 1121, 1230, 1338, 1447, 1558, 1670, 1781, 1889, 1997, 2108, 2218, 2328, 2441, 2549, 2657, 2766, 2878, 2988, 3102, 3208, 3319, 3427, 3538, 3647, 3761, 3870, 3978, 4087, 4197, 4308, 4421, 4529,
             4638, 4746, 4858, 4968, 5079, 5190, 5298, 5406, 5518, 5629, 5737, 5849, 5957, 6065, 6179, 6288, 6396, 6507, 6620, 6727, 6838, 6949, 7057, 7169, 7281, 7388, 7498, 7608, 7716, 7829, 7939, 8046, 8156, 8270, 8376, 8490]
    额外倍率 = 0  # 噬灵鬼斩部分

    def 等效百分比(self, 武器类型):
        return self.倍率 * (self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) + self.data2[self.等级] * self.额外倍率)


class 技能2(被动技能):
    名称 = '刀魂之卡赞'
    是否主动 = 1
    所在等级 = 5
    等级上限 = 20
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.04 + 0.01 * self.等级, 5)


class 技能3(被动技能):
    名称 = '侵蚀之普戾蒙'
    是否主动 = 1
    所在等级 = 15
    等级上限 = 11
    基础等级 = 2
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.01 * self.等级, 5)


class 技能4(被动技能):
    名称 = '太刀精通'
    所在等级 = 15
    等级上限 = 40
    基础等级 = 30
    关联技能 = ['所有']
    data = [0, 13, 28, 41, 54, 68, 82, 96, 109, 123, 137, 150, 164, 177, 191, 205, 219, 233, 245, 259, 273, 287, 301, 314, 328, 341, 355, 369, 382, 396, 410, 424, 437, 450, 464, 478,
            492, 506, 520, 532, 546, 560, 574, 588, 601, 615, 628, 642, 656, 669, 683, 697, 711, 724, 737, 751, 765, 779, 793, 806, 819, 833, 847, 861, 874, 888, 902, 915, 929, 942, 956]

    def 加成倍率(self, 武器类型):
        if 武器类型 == '太刀':
            return self.data[self.等级] / 1000 + 1
        else:
            self.关联技能 = ['无']
            return 1.0

    def 魔法攻击力倍率(self, 武器类型):
        return self.加成倍率(武器类型)


class 技能5(被动技能):
    名称 = '短剑精通'
    所在等级 = 15
    等级上限 = 40
    基础等级 = 30
    关联技能 = ['所有']

    data = [0, 12, 26, 39, 51, 64, 77, 90, 103, 116, 129, 141, 154, 167, 180, 193, 206, 219, 231, 244, 257, 270, 283, 296, 309, 321, 334, 347, 360, 373, 386, 399, 411, 424, 437, 450,
            463, 476, 489, 501, 514, 527, 540, 553, 566, 579, 591, 604, 617, 630, 643, 656, 669, 681, 694, 707, 720, 733, 746, 759, 771, 784, 797, 810, 823, 836, 849, 861, 874, 887, 900]

    def 加成倍率(self, 武器类型):
        if 武器类型 == '短剑':
            return self.data[self.等级] / 1000 + 1
        else:
            self.关联技能 = ['无']
            return 1.0

    def 魔法攻击力倍率(self, 武器类型):
        return self.加成倍率(武器类型)


class 技能6(被动技能):
    名称 = '暗月降临'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10
    是否有伤害 = 0
    关联技能 = ['无']

    自定义描述 = 1

    def 技能描述(self, 武器类型):
        return '暗属性强化+' + str(self.属强加成())

    def 属强加成(self):
        if self.等级 == 0:
            return 0
        if self.等级 <= 10:
            return round(self.等级 * 3)
        else:
            return round(30 + (self.等级-10) * 5)


class 技能7(主动技能):
    名称 = '月光斩'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    CD = 4.0
    TP成长 = 0.08
    TP上限 = 5
    data1 = [0, 491, 539, 590, 640, 689, 739, 789, 838, 888, 939, 988, 1038, 1088, 1137, 1187, 1237, 1286, 1336, 1387, 1436, 1486, 1536, 1585, 1635, 1685, 1734, 1784, 1835, 1884, 1934, 1984, 2033, 2083, 2133, 2182,
             2233, 2283, 2332, 2382, 2431, 2481, 2531, 2580, 2630, 2681, 2730, 2780, 2830, 2879, 2929, 2979, 3028, 3078, 3129, 3178, 3228, 3278, 3327, 3377, 3427, 3476, 3526, 3577, 3626, 3676, 3726, 3775, 3825, 3875, 3924]
    data2 = [0, 555, 612, 667, 724, 780, 837, 894, 950, 1007, 1062, 1119, 1175, 1231, 1288, 1344, 1401, 1456, 1513, 1569, 1625, 1681, 1738, 1795, 1851, 1908, 1965, 2020, 2077, 2133, 2190, 2245, 2302, 2359, 2414, 2471,
             2527, 2584, 2639, 2696, 2753, 2809, 2866, 2923, 2979, 3035, 3091, 3148, 3205, 3260, 3317, 3373, 3429, 3485, 3542, 3599, 3654, 3711, 3767, 3824, 3881, 3937, 3994, 4049, 4106, 4162, 4218, 4275, 4331, 4388, 4443]
    data3 = [0, 780, 859, 939, 1017, 1097, 1175, 1254, 1334, 1414, 1492, 1572, 1651, 1729, 1809, 1887, 1967, 2047, 2126, 2204, 2284, 2363, 2442, 2521, 2601, 2681, 2758, 2838, 2917, 2996, 3076, 3154, 3234, 3313, 3391,
             3471, 3551, 3629, 3709, 3788, 3866, 3946, 4025, 4105, 4184, 4263, 4343, 4421, 4500, 4580, 4658, 4738, 4818, 4896, 4975, 5055, 5133, 5213, 5292, 5371, 5451, 5529, 5608, 5688, 5767, 5847, 5925, 6005, 6083, 6162, 6242]
    数据 = [data1, data2, data3]
    次数 = [1, 1, 1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能8(主动技能):
    名称 = '鬼影步'
    备注 = '(一轮)'
    所在等级 = 20
    等级上限 = 20
    基础等级 = 20
    基础 = 361
    成长 = 0
    CD = 1.0
    TP成长 = 0.10
    TP上限 = 3


class 技能9(被动技能):
    名称 = '噬灵鬼斩'
    所在等级 = 25
    等级上限 = 5
    基础等级 = 1
    关联技能 = ['无']

    def 加成倍率(self):
        if self.等级 == 0:
            return 0.0
        else:
            return round(1.0 + 0.1 * self.等级, 5)


class 技能10(主动技能):
    名称 = '鬼影鞭'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 26
    CD = 8.0
    TP成长 = 0.10
    TP上限 = 5
    data1 = [0, 1211, 1405, 1598, 1792, 1985, 2178, 2371, 2565, 2758, 2951, 3145, 3337, 3531, 3724, 3918, 4111, 4304, 4497, 4690, 4884, 5077, 5271, 5463, 5657, 5850, 6044, 6237, 6429, 6623, 6816, 7010, 7203, 7396, 7589, 7783, 7976, 8169, 8363, 8555, 8749, 8942, 9136, 9329, 9522, 9715, 9908, 10102, 10295, 10489, 10681, 10875, 11068, 11262, 11455, 11647, 11841, 12034, 12228, 12421, 12615, 12807, 13001, 13194, 13387, 13581, 13773, 13967, 14160, 14354, 14547]
    data2 = [0, 2828, 3279, 3730, 4181, 4631, 5082, 5534, 5985, 6436, 6887, 7338, 7789, 8240, 8691, 9142, 9592, 10043, 10494, 10945, 11396, 11847, 12298, 12749, 13200, 13651, 14101, 14552, 15003, 15454, 15905, 16356, 16808, 17259, 17710, 18161, 18612, 19062, 19513, 19964, 20415, 20866, 21317, 21768, 22219, 22670, 23121, 23572, 24022, 24473, 24924, 25375, 25826, 26277, 26728, 27179, 27630, 28082, 28532, 28983, 29434, 29885, 30336, 30787, 31238, 31689, 32140, 32591, 33042, 33492, 33943]

    数据 = [data1, data2]
    次数 = [1, 1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能11(主动技能):
    名称 = '冰霜之萨亚'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 39
    CD = 15.0
    TP上限 = 5
    演出时间 = 5
    data0 = [0, 617, 679, 742, 805, 867, 930, 993, 1055, 1118, 1181, 1243, 1306, 1369, 1431, 1494, 1557, 1619, 1682, 1745, 1807, 1870, 1933, 1995, 2058, 2121, 2183, 2246, 2308, 2371, 2434, 2496, 2559, 2622, 2684, 2747, 2810, 2872, 2935, 2998, 3060, 3123, 3186, 3248, 3311, 3374, 3436, 3499, 3562, 3624, 3687, 3750, 3812, 3875, 3938, 3999, 4062, 4125, 4187, 4250, 4313, 4375, 4438, 4501, 4563, 4626, 4689, 4751, 4814, 4877, 4939]

    def 等效百分比(self, 武器类型):
        return (self.data0[self.等级]) * ceil(10 / (1 - 0.07 * self.TP等级)) * self.倍率


class 技能12(主动技能):
    名称 = '死亡墓碑'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    CD = 18
    TP成长 = 0.10
    TP上限 = 5
    data1 = [0, 901, 992, 1084, 1175, 1266, 1358, 1449, 1540, 1632, 1723, 1814, 1906, 1997, 2088, 2180, 2271, 2363, 2454, 2545, 2637, 2729, 2820, 2912, 3003, 3094, 3186, 3277, 3368, 3460, 3551, 3642, 3734, 3825, 3917, 4008, 4099, 4191, 4282, 4373, 4465, 4557, 4648, 4740, 4831, 4922, 5014, 5105, 5196, 5288, 5379, 5471, 5562, 5653, 5745, 5836, 5927, 6019, 6110, 6201, 6293, 6385, 6476, 6568, 6659, 6750, 6842, 6933, 7025, 7116, 7207]
    数据 = [data1]
    # 次数 = [18]
    次数 = [9]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能13(主动技能):
    名称 = '瘟疫之罗刹'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 37
    CD = 20.0
    TP成长 = 0.10
    TP上限 = 5
    演出时间 = 5
    data1 = [0, 846, 932, 1019, 1105, 1190, 1276, 1362, 1448, 1534, 1620, 1705, 1791, 1877, 1964, 2050, 2135, 2221, 2307, 2393, 2479, 2565, 2650, 2736, 2822, 2909, 2995, 3081, 3166, 3252, 3338, 3424, 3510, 3596, 3681, 3767, 3854, 3940, 4026, 4111, 4197, 4283, 4369, 4455, 4541, 4626, 4712, 4799, 4885, 4971, 5057, 5142, 5228, 5314, 5400, 5486, 5571, 5657, 5744, 5830, 5916]

    数据 = [data1]
    次数 = [10]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 0.5 * 1.1 + 1.1 * 0.5 * 1.08
        elif x == 1:
            self.倍率 *= 0.5 * 1.1 + 1.1 * 0.5 * 1.24

    def 护石描述(self, x):
        if x == 0:
            temp = "<font color='#FF00FF'>无尽瘟疫</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[瘟疫之罗刹]<br>"
            temp += "施放时直接使罗刹分身附到敌人身上<br>"
            temp += "- 不设置召唤领域<br>"
            temp += "罗刹分身5秒内对附着的敌人造成持续伤害后爆炸<br>"
            temp += "- 多段攻击次数 -5次<br>"
            temp += "- 爆炸攻击力为腐蚀攻击力的500%<br>"
            temp += "腐蚀攻击力 +10%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "寻敌范围 +30%<br>"
            temp += "爆炸攻击力 +8%"
        elif x == 1:
            temp = "<font color='#FF00FF'>无尽瘟疫</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[瘟疫之罗刹]<br>"
            temp += "施放时直接使罗刹分身附到敌人身上<br>"
            temp += "- 不设置召唤领域<br>"
            temp += "罗刹分身5秒内对附着的敌人造成持续伤害后爆炸<br>"
            temp += "- 多段攻击次数 -5次<br>"
            temp += "- 爆炸攻击力为腐蚀攻击力的500%<br>"
            temp += "腐蚀攻击力 +10%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "寻敌范围 +30%<br>"
            temp += "爆炸攻击力 +24%"
        return temp


class 技能14(主动技能):
    名称 = '鬼斩：狂怒'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    CD = 20.0
    TP成长 = 0.10
    TP上限 = 5
    演出时间 = 0.5
    data1 = [0, 9609, 10584, 11558, 12533, 13508, 14483, 15458, 16432, 17407, 18382, 19357, 20333, 21307, 22282, 23257, 24232, 25207, 26181, 27156, 28131, 29106, 30081, 31056, 32030, 33005, 33980, 34955, 35930, 36904, 37879, 38854, 39829, 40805, 41778, 42754, 43729, 44704, 45679, 46653, 47628, 48603, 49578, 50553, 51527, 52502, 53477, 54452, 55427, 56402, 57376, 58351, 59326, 60301, 61276, 62250, 63226, 64201, 65176, 66151, 67125, 68100, 69075, 70050, 71025, 71999, 72974, 73949, 74924, 75899, 76874]

    数据 = [data1]
    次数 = [1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        self.演出时间 = 1.2
        if x == 0:
            self.倍率 *= 1.26
        elif x == 1:
            self.倍率 *= 1.35

    def 护石描述(self, x):
        if x == 0:
            temp = "<font color='#FF00FF'>灵魂呼啸</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[鬼斩 : 狂怒]<br>"
            temp += "地面攻击后发动上斩， 生成对前方造成持续伤害的灵魂旋风<br>"
            temp += "- 灵魂旋风攻击力为[鬼斩 : 狂怒]攻击力的20%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "灵魂旋风命中时将敌人聚到中心<br>"
            temp += "灵魂旋风范围 +30%<br>"
            temp += "灵魂旋风攻击力 +6%"
        elif x == 1:
            temp = "<font color='#FF00FF'>灵魂呼啸</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[鬼斩 : 狂怒]<br>"
            temp += "地面攻击后发动上斩， 生成对前方造成持续伤害的灵魂旋风<br>"
            temp += "- 灵魂旋风攻击力为[鬼斩 : 狂怒]攻击力的20%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "灵魂旋风命中时将敌人聚到中心<br>"
            temp += "灵魂旋风范围 +30%<br>"
            temp += "灵魂旋风攻击力 +15%"
        return temp


class 技能15(主动技能):
    名称 = '鬼影闪'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    CD = 20
    TP成长 = 0.10
    TP上限 = 5
    data1 = [0, 8041, 8857, 9673, 10488, 11304, 12120, 12936, 13752, 14568, 15384, 16199, 17015, 17831, 18647, 19463, 20279, 21095, 21910, 22726, 23542, 24358, 25173, 25989, 26804, 27620, 28436, 29252, 30068, 30884, 31700, 32515, 33331, 34147, 34963, 35779, 36595, 37410, 38226, 39042, 39858, 40674, 41490, 42306, 43121, 43937, 44753, 45569, 46385, 47201, 48017, 48832, 49648, 50463, 51279, 52095, 52911, 53726, 54542, 55358, 56174, 56990, 57806, 58622, 59437, 60253, 61069, 61885, 62701, 63517, 64332]

    数据 = [data1]
    次数 = [1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能16(主动技能):
    名称 = '冥炎之卡洛'
    备注 = '(一轮)'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 32
    CD = 1.0
    TP成长 = 0.10
    TP上限 = 5
    data1 = [0, 251, 277, 302, 328, 353, 378, 404, 429, 456, 481, 505, 531, 557, 582, 608, 633, 658, 684, 710, 735, 761, 785, 811, 837, 862, 887, 915, 940, 963, 991, 1015, 1042, 1067, 1092, 1117, 1143, 1170, 1194, 1220, 1244, 1271, 1296, 1323, 1348, 1373, 1399, 1424, 1450, 1475, 1502, 1526, 1552, 1577, 1604, 1630, 1655, 1680, 1704, 1729, 1757, 1782, 1807, 1832, 1859, 1884, 1910, 1935, 1960, 1986, 2011]

    数据 = [data1]
    次数 = [3]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能17(主动技能):
    名称 = '冥炎之卡洛(灼烧)'
    备注 = '(1秒3次)'
    所在等级 = 45
    等级上限 = 1
    基础等级 = 1
    CD = 1.0
    TP成长 = 0.10
    data1 = [0, 153, 170, 185, 201, 216, 232, 248, 263, 278, 294, 310, 326, 342, 357, 373, 387, 404, 421, 435, 452, 466, 482, 498, 513, 529, 545, 559, 575, 592, 606, 623, 638, 654, 670, 685, 700, 716, 732, 748, 763, 778, 795, 811, 826, 841, 858, 874, 887, 904, 920, 936, 950, 966, 983, 1000, 1012, 1028, 1044, 1061, 1076, 1092, 1108, 1121, 1137, 1154, 1170, 1185, 1201, 1216, 1233]
    数据 = [data1]
    次数 = [3]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能18(主动技能):
    名称 = '冥炎剑'
    所在等级 = 45
    等级上限 = 1
    基础等级 = 1
    CD = 45.0
    TP成长 = 0.10
    data1 = [0, 943, 1038, 1134, 1231, 1326, 1422, 1517, 1613, 1708, 1804, 1901, 1996, 2092, 2187, 2283, 2378, 2475, 2570, 2666, 2762, 2857, 2953, 3048, 3145, 3240, 3336, 3431, 3527, 3623, 3719, 3815, 3910, 4006, 4101, 4197, 4292, 4389, 4485, 4580, 4676, 4771, 4867, 4963, 5059, 5154, 5250, 5346, 5441, 5538, 5633, 5729, 5824, 5920, 6015, 6111, 6208, 6303, 6399, 6494, 6590, 6685, 6782, 6878, 6973, 7069, 7164, 7260, 7355, 7452, 7547]
    data2 = [0, 1381, 1520, 1661, 1801, 1941, 2081, 2222, 2361, 2502, 2642, 2783, 2922, 3063, 3203, 3342, 3483, 3623, 3763, 3903, 4044, 4183, 4324, 4464, 4604, 4744, 4884, 5024, 5164, 5305, 5444, 5585, 5725, 5865, 6005, 6146, 6285, 6425, 6566, 6705, 6846, 6986, 7126, 7266, 7407, 7546, 7687, 7827, 7967, 8107, 8247, 8387, 8527, 8668, 8807, 8948, 9088, 9228, 9368, 9509, 9648, 9788, 9929, 10068, 10209, 10349, 10490, 10629, 10770, 10910, 11050]
    data3 = [0, 2961, 3261, 3563, 3863, 4163, 4464, 4764, 5064, 5366, 5666, 5966, 6266, 6567, 6867, 7168, 7469, 7769, 8069, 8370, 8670, 8971, 9272, 9572, 9872, 10172, 10473, 10774, 11074, 11375, 11675, 11975, 12276, 12577, 12877, 13178, 13478, 13778, 14078, 14380, 14680, 14980, 15281, 15581, 15881, 16183, 16483, 16783, 17084, 17384, 17684, 17985, 18286, 18586, 18886, 19187, 19487, 19788, 20089, 20389, 20689, 20990, 21290, 21591, 21891, 22192, 22492, 22792, 23093, 23394, 23694]
    data4 = [0, 4810, 5298, 5786, 6274, 6762, 7250, 7737, 8226, 8714, 9202, 9690, 10178, 10666, 11154, 11642, 12130, 12618, 13106, 13594, 14082, 14570, 15058, 15546, 16035, 16522, 17010, 17498, 17987, 18474, 18962, 19450, 19938, 20427, 20914, 21402, 21890, 22379, 22866, 23354, 23842, 24331, 24818, 25306, 25794, 26283, 26771, 27258, 27746, 28235, 28723, 29210, 29698, 30186, 30675, 31163, 31650, 32138, 32627, 33115, 33602, 34090, 34579, 35067, 35554, 36042, 36531, 37019, 37507, 37994, 38483]

    数据 = [data1, data2, data3, data4]
    次数 = [2, 2, 2, 1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.20
        elif x == 1:
            self.倍率 *= 1.28

    def 护石描述(self, x):
        if x == 0:
            temp = "<font color='#FF00FF'>速效冥炎</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[冥炎剑]<br>"
            temp += "施放时召唤冥炎剑立即斩击敌人<br>"
            temp += "斩击攻击范围 +30%<br>"
            temp += "斩击攻击力 +11%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "按向前方向键时增加移动距离<br>"
            temp += "斩击攻击力 +9%"
        elif x == 1:
            temp = "<font color='#FF00FF'>速效冥炎</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[冥炎剑]<br>"
            temp += "施放时召唤冥炎剑立即斩击敌人<br>"
            temp += "斩击攻击范围 +30%<br>"
            temp += "斩击攻击力 +11%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "按向前方向键时增加移动距离<br>"
            temp += "斩击攻击力 +17%"
        return temp


class 技能19(被动技能):
    名称 = '恐惧光环'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.105 + 0.015 * self.等级, 5)


class 技能20(主动技能):
    名称 = '第七鬼神：邪神怖之拉修'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    CD = 140.0
    data1 = [0, 6684, 8234, 9784, 11334, 12885, 14434, 15984, 17534, 19085, 20635, 22184, 23734, 25284, 26835, 28385, 29934, 31484, 33035, 34585, 36135, 37685, 39234, 40785, 42335, 43885, 45435, 46985, 48535, 50085, 51635, 53186, 54735, 56285, 57835, 59385, 60936, 62486, 64035, 65585, 67136]
    data2 = [0, 9036, 11132, 13228, 15324, 17420, 19514, 21610, 23706, 25802, 27896, 29992, 32088, 34184, 36280, 38374, 40470, 42566, 44662, 46758, 48852, 50948, 53044, 55140, 57236, 59330, 61426, 63522, 65618, 67713, 69808, 71904, 74000, 76096, 78191, 80286, 82382, 84478, 86574, 88668, 90764]
    data3 = [0, 1800, 2217, 2634, 3051, 3469, 3886, 4304, 4721, 5139, 5556, 5973, 6390, 6808, 7225, 7643, 8060, 8478, 8895, 9312, 9729, 10147, 10564, 10982, 11399, 11817, 12234, 12651, 13069, 13486, 13904, 14321, 14739, 15156, 15574, 15990, 16408, 16825, 17243, 17660, 18078]

    数据 = [data1, data2, data3]
    次数 = [1.8, 1.8, 5]
    倍率 = 1.1

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能21(主动技能):
    名称 = '鬼斩：炼狱'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23
    CD = 30.0
    TP成长 = 0.10
    TP上限 = 5
    data1 = [0, 1287, 1418, 1549, 1679, 1810, 1940, 2072, 2202, 2332, 2463, 2594, 2725, 2855, 2986, 3116, 3247, 3378, 3508, 3639, 3770, 3901, 4031, 4161, 4292, 4423, 4554, 4684, 4815, 4946, 5076, 5207, 5337, 5468, 5599, 5730, 5860, 5990, 6122, 6252, 6383, 6513, 6644, 6775, 6905, 7036, 7166, 7298, 7428, 7559, 7689, 7819, 7951, 8081, 8212, 8342, 8474, 8604, 8735, 8865, 8995, 9127, 9257, 9388, 9518, 9650, 9780, 9910, 10041, 10171, 10303]
    data2 = [0, 5007, 5516, 6024, 6532, 7040, 7548, 8057, 8565, 9072, 9580, 10088, 10597, 11105, 11613, 12121, 12629, 13138, 13645, 14153, 14661, 15169, 15678, 16186, 16694, 17202, 17710, 18219, 18726, 19234, 19742, 20250, 20759, 21267, 21775, 22283, 22791, 23298, 23807, 24315, 24823, 25331, 25839, 26348, 26856, 27364, 27871, 28379, 28888, 29396, 29904, 30412, 30920, 31429, 31937, 32444, 32952, 33460, 33969, 34477, 34985, 35493, 36001, 36510, 37018, 37525, 38033, 38541, 39050, 39558, 40066]
    data3 = [0, 4292, 4728, 5163, 5599, 6034, 6470, 6905, 7341, 7776, 8212, 8648, 9083, 9518, 9954, 10390, 10824, 11260, 11696, 12132, 12566, 13002, 13438, 13874, 14308, 14744, 15180, 15616, 16051, 16486, 16922, 17358, 17793, 18228, 18664, 19100, 19535, 19970, 20406, 20841, 21277, 21712, 22148, 22583, 23019, 23455, 23890, 24325, 24761, 25197, 25632, 26067, 26503, 26939, 27374, 27809, 28245, 28681, 29117, 29551, 29987, 30423, 30858, 31293, 31729, 32165, 32600, 33035, 33471, 33907, 34342]

    数据 = [data1, data2, data3]
    次数 = [1, 2, 1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.次数 = [1, 2, 1.21 * (1 + 0.09 * 5)]
            self.CD *= 0.9
        elif x == 1:
            self.次数 = [1, 2, 1.43 * (1 + 0.09 * 5)]
            self.CD *= 0.9

    def 护石描述(self, x):
        if x == 0:
            temp = "<font color='#FF00FF'>刺骨炼狱</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[鬼斩 : 炼狱]<br>"
            temp += "冥界刀刃命中时， 对敌人附着持续造成伤害的冥炎<br>"
            temp += "冥炎对敌人造成多段伤害后爆炸并消失<br>"
            temp += "- 删除僵直功能<br>"
            temp += "- 爆炸攻击力为原僵直解除时的爆炸攻击力<br>"
            temp += "- 多段攻击力为爆炸攻击力的9%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "冥炎爆炸攻击力 +21%<br>"
            temp += "冷却时间 -10%"
        elif x == 1:
            temp = "<font color='#FF00FF'>刺骨炼狱</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[鬼斩 : 炼狱]<br>"
            temp += "冥界刀刃命中时， 对敌人附着持续造成伤害的冥炎<br>"
            temp += "冥炎对敌人造成多段伤害后爆炸并消失<br>"
            temp += "- 删除僵直功能<br>"
            temp += "- 爆炸攻击力为原僵直解除时的爆炸攻击力<br>"
            temp += "- 多段攻击力为爆炸攻击力的9%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "冥炎爆炸攻击力 +43%<br>"
            temp += "冷却时间 -10%"
        return temp


class 技能22(主动技能):
    名称 = '冥祭之沼'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18
    CD = 40.0
    TP成长 = 0.10
    TP上限 = 5
    data1 = [0, 16391, 18055, 19718, 21380, 23044, 24707, 26371, 28033, 29696, 31358, 33022, 34684, 36347, 38011, 39673, 41336, 43000, 44663, 46326, 47989, 49651, 51315, 52978, 54640, 56304, 57966, 59629, 61293, 62956, 64618, 66282, 67945, 69607, 71271, 72933, 74596,
             76259, 77922, 79586, 81249, 82912, 84575, 86238, 87900, 89564, 91226, 92889, 94551, 96215, 97878, 99542, 101205, 102867, 104531, 106193, 107856, 109519, 111182, 112846, 114508, 116171, 117835, 119498, 121160, 122824, 124486, 126149, 127813, 129475, 131138]
    数据 = [data1]
    次数 = [1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    是否有护石 = 1
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.20
        elif x == 1:
            self.倍率 *= 1.28

    def 护石描述(self, x):
        if x == 0:
            temp = "<font color='#FF00FF'>百鬼夜行</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[冥祭之沼]<br>"
            temp += "墓碑爆炸时对周围队友施加鬼神之力， 10秒内增加10%的攻击速度<br>"
            temp += "爆炸攻击力 +11%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "队友攻击速度 +5%<br>"
            temp += "爆炸攻击力 +9%"
        elif x == 1:
            temp = "<font color='#FF00FF'>百鬼夜行</font>"
            temp += "<br><br><font color='#68D5ED'>"
            temp += "[冥祭之沼]<br>"
            temp += "墓碑爆炸时对周围队友施加鬼神之力， 10秒内增加10%的攻击速度<br>"
            temp += "爆炸攻击力 +11%<br>"
            temp += "<br>-护石附加效果：<br>"
            temp += "队友攻击速度 +5%<br>"
            temp += "爆炸攻击力 +17%"
        return temp


class 技能23(被动技能):
    名称 = '御鬼之极'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.20 + 0.02 * self.等级, 5)


class 技能24(主动技能):
    名称 = '幽魂之布雷德'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    CD = 40.0
    data1 = [0, 330, 364, 397, 431, 464, 499, 532, 566, 599, 632, 666, 699, 733, 767, 801, 834, 868, 901, 934, 968, 1001, 1036, 1069, 1103, 1136, 1170, 1203, 1237, 1270, 1303, 1338, 1371, 1405, 1438, 1472, 1505, 1539, 1572, 1606, 1640, 1673, 1707, 1740, 1774, 1807, 1841, 1875, 1909, 1942, 1975, 2009, 2042, 2076, 2109, 2143, 2177, 2211, 2244, 2277, 2311, 2344, 2378, 2411, 2446, 2479, 2513, 2546, 2580, 2613, 2646]
    data2 = [0, 3683, 4056, 4430, 4803, 5177, 5551, 5925, 6298, 6671, 7045, 7419, 7793, 8166, 8540, 8913, 9287, 9661, 10035, 10408, 10782, 11155, 11530, 11903, 12276, 12650, 13023, 13398, 13771, 14145, 14518, 14892, 15265, 15640, 16013, 16386, 16760, 17133, 17508, 17881, 18255, 18628, 19002, 19375, 19750, 20123, 20497, 20870, 21243, 21618, 21991, 22365, 22738, 23112, 23485, 23860, 24233, 24607, 24980, 25354, 25728, 26101, 26475, 26848, 27222, 27595, 27970, 28343, 28717, 29090, 29464]
    data3 = [0, 20717, 22818, 24920, 27022, 29123, 31225, 33327, 35429, 37531, 39633, 41734, 43836, 45938, 48039, 50141, 52243, 54344, 56446, 58549, 60650, 62752, 64854, 66955, 69057, 71159, 73260, 75362, 77464, 79565, 81668, 83770, 85871, 87973, 90074, 92176, 94278, 96379, 98481, 100583, 102684, 104787, 106889, 108990, 111092, 113194, 115295, 117397, 119499, 121600, 123702, 125805, 127906, 130008, 132110, 134211, 136313, 138415, 140516, 142618, 144720, 146821, 148924, 151026, 153127, 155229, 157331, 159432, 161534, 163635, 165737]
    数据 = [data1, data2, data3]
    次数 = [8 * 4, 4, 1]
    解放 = 1

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * \
                self.次数[i] * (self.解放 if i == 0 else 1)
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    是否有护石 = 1
    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.次数 = [6 * 4, 4 * 1.61, 1.41]


class 技能25(主动技能):
    名称 = '幽魂降临：式'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    CD = 45.0
    data1 = [0, 18254, 20105, 21958, 23810, 25661, 27513, 29365, 31218, 33069, 34921, 36773, 38624, 40476, 42329, 44181, 46032, 47884, 49736, 51588, 53440, 55292, 57144, 58995, 60848, 62700, 64551, 66403, 68255, 70107, 71959, 73811, 75663, 77514, 79366, 81219, 83071, 84922, 86774, 88626, 90477]
    data2 = [0, 27381, 30159, 32936, 35715, 38492, 41270, 44049, 46826, 49604, 52381, 55160, 57937, 60715, 63494, 66271, 69049, 71826, 74605, 77382, 80160, 82938, 85716, 88494, 91271, 94050, 96827, 99605, 102382, 105161, 107939, 110716, 113495, 116272, 119050, 121827, 124606, 127384, 130161, 132939, 135717]
    数据 = [data1, data2]
    次数 = [1, 1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    是否有护石 = 1
    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.34


class 技能26(主动技能):
    名称 = '王者号令：吉格降临'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    CD = 180.0
    data1 = [0, 16629, 20484, 24340, 28197, 32052, 35909, 39765, 43620, 47477, 51332, 55188, 59045, 62900, 66757, 70613, 74468, 78325, 82180, 86036, 89893, 93748, 97605, 101460, 105316, 109173, 113028, 116885, 120741, 124596, 128453, 132308, 136164, 140021, 143876, 147733, 151589, 155444, 159301, 163156, 167012, 170869, 174724, 178581, 182436, 186292, 190149, 194004, 197860, 201717, 205572, 209429, 213284, 217140, 220997, 224852, 228708, 232565, 236420, 240277, 244132, 247988, 251845, 255700, 259557, 263412, 267268, 271125, 274980, 278836, 282693]
    data2 = [0, 831, 1024, 1217, 1409, 1602, 1794, 1988, 2181, 2373, 2566, 2759, 2952, 3145, 3337, 3530, 3723, 3915, 4109, 4301, 4494, 4687, 4879, 5073, 5266, 5458, 5651, 5843, 6036, 6230, 6422, 6615, 6808, 7000, 7194, 7386, 7579, 7772, 7964, 8157, 8350, 8543, 8736, 8928, 9121, 9315, 9507, 9700, 9892, 10085, 10278, 10471, 10664, 10857, 11049, 11242, 11435, 11628, 11821, 12013, 12206, 12398, 12592, 12785, 12977, 13170, 13363, 13556, 13749, 13941, 14134]
    data3 = [0, 20786, 25605, 30426, 35245, 40066, 44885, 49706, 54525, 59346, 64166, 68986, 73806, 78626, 83446, 88266, 93086, 97906, 102726, 107545, 112366, 117185, 122006, 126825, 131646, 136465, 141286, 146105, 150926, 155745, 160566, 165386, 170206, 175026, 179846, 184666, 189486, 194306, 199125, 203946, 208765, 213586, 218405, 223226, 228045, 232866, 237685, 242506, 247325, 252146, 256965, 261786, 266606, 271426, 276246, 281066, 285886, 290705, 295526, 300345, 305166, 309985, 314806, 319625, 324446, 329265, 334086, 338905, 343726, 348545, 353366]
    data4 = [0, 33258, 40970, 48681, 56393, 64106, 71818, 79529, 87241, 94954, 102666, 110377, 118089, 125802, 133514, 141225, 148937, 156650, 164362, 172073, 179785, 187497, 195210, 202921, 210633, 218345, 226058, 233770, 241481, 249193, 256906, 264618, 272329, 280041, 287754, 295466, 303177, 310889, 318602, 326314, 334025, 341737, 349449, 357162, 364873, 372585, 380297, 388010, 395721, 403433, 411145, 418858, 426569, 434281, 441993, 449706, 457417, 465129, 472841, 480554, 488266, 495977, 503689, 511401, 519114, 526825, 534537, 542249, 549962, 557673, 565385]

    数据 = [data1, data2, data3, data4]
    次数 = [1, 15, 1, 1]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能27(被动技能):
    名称 = '鬼神冠冕'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能28(主动技能):
    名称 = '鬼神剑·黄泉摆渡'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 6
    CD = 60.0
    data1 = [0, 19558, 21542, 23526, 25511, 27495, 29479, 31463, 33448, 35431, 37416, 39400, 41385, 43368, 45353, 47337, 49322, 51305, 53290, 55274, 57258, 59242, 61227, 63211, 65195, 67179, 69164, 71147, 73131, 75116, 77100, 79084, 81068, 83053, 85036, 87021, 89005, 90990, 92973, 94958, 96942]
    data2 = [0, 9779, 10771, 11763, 12755, 13748, 14739, 15731, 16723, 17716, 18708, 19700, 20692, 21684, 22676, 23668, 24660, 25653, 26645, 27637, 28628, 29621, 30613, 31605, 32597, 33590, 34582, 35573, 36565, 37557, 38550, 39542, 40534, 41526, 42518, 43510, 44502, 45494, 46487, 47479, 48471]
    data3 = [0, 34227, 37699, 41172, 44644, 48116, 51589, 55061, 58533, 62006, 65478, 68950, 72423, 75895, 79367, 82840, 86312, 89784, 93257, 96729, 100202, 103674, 107146, 110619, 114091, 117563, 121036, 124508, 127980, 131453, 134925, 138397, 141870, 145342, 148814, 152288, 155760, 159233, 162705, 166177, 169650]
    data4 = [0, 2934, 3231, 3529, 3826, 4123, 4422, 4719, 5017, 5314, 5612, 5909, 6208, 6505, 6803, 7100, 7397, 7695, 7993, 8291, 8588, 8886, 9183, 9482, 9779, 10077, 10374, 10671, 10969, 11267, 11565, 11862, 12160, 12457, 12755, 13053, 13351, 13648, 13946, 14243, 14540]

    数据 = [data1, data2, data3, data4]
    次数 = [2, 1, 1, 5]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能29(主动技能):
    名称 = '黄泉之门：万鬼度灵'
    所在等级 = 100
    等级上限 = 40
    基础等级 = 2
    CD = 290.0
    data1 = [0, 16612, 20463, 24316, 28168, 32020, 35872, 39725, 43576, 47429, 51281, 55132, 58985, 62837, 66689, 70541, 74394, 78245, 82097, 85950, 89801, 93654, 97506, 101358, 105210, 109062, 112914, 116766, 120619, 124470, 128323, 132175, 136026, 139879, 143731, 147583, 151435, 155288, 159139, 162992, 166844]
    data2 = [0, 99672, 122785, 145898, 169010, 192123, 215235, 238348, 261461, 284573, 307686, 330798, 353911, 377024, 400136, 423250, 446362, 469475, 492588, 515700, 538813, 561925, 585038, 608151, 631263, 654376, 677488, 700601, 723714, 746826, 769939, 793051, 816164, 839277, 862389, 885502, 908614, 931727, 954840, 977952, 1001065]
    data3 = [0, 4429, 5457, 6484, 7511, 8539, 9566, 10592, 11620, 12647, 13674, 14702, 15729, 16756, 17784, 18811, 19838, 20865, 21893, 22919, 23946, 24974, 26001, 27028, 28056, 29083, 30110, 31138, 32165, 33192, 34220, 35246, 36273, 37300, 38328, 39355, 40382, 41410, 42437, 43464, 44492]
    data4 = [0, 6229, 7673, 9118, 10563, 12007, 13452, 14896, 16341, 17785, 19230, 20675, 22119, 23563, 25008, 26453, 27897, 29341, 30786, 32231, 33676, 35119, 36564, 38009, 39454, 40898, 42342, 43787, 45232, 46676, 48120, 49565, 51010, 52454, 53899, 55343, 56788, 58232, 59677, 61122, 62566]

    数据 = [data1, data2, data3, data4]
    次数 = [1, 2, 15, 8]

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.次数)):
            sum += self.数据[i][self.等级] * self.次数[i]
        return sum * (1 + self.TP成长 * self.TP等级) * self.倍率

    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        return 0.0


技能列表 = []
i = 0
while i >= 0:
    try:
        exec('技能列表.append(技能'+str(i)+'())')
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

极诣·鬼泣一觉序号 = 0
极诣·鬼泣二觉序号 = 0
极诣·鬼泣三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        极诣·鬼泣一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        极诣·鬼泣二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        极诣·鬼泣三觉序号 = 技能序号[i.名称]

极诣·鬼泣护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        极诣·鬼泣护石选项.append(i.名称)

极诣·鬼泣符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        极诣·鬼泣符文选项.append(i.名称)


class 极诣·鬼泣角色属性(角色属性):

    实际名称 = '极诣·鬼泣'
    角色 = '鬼剑士(男)'
    职业 = '鬼泣'

    武器选项 = ['太刀', '短剑']

    类型选择 = ['魔法百分比']

    类型 = '魔法百分比'
    防具类型 = '布甲'
    防具精通属性 = ['智力']

    主BUFF = 1.69

    远古记忆 = 0

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    def 被动倍率计算(self):
        super().被动倍率计算()
        self.暗属性强化 += self.技能栏[self.技能序号['暗月降临']].属强加成()

        self.技能栏[self.技能序号['冥炎之卡洛(灼烧)']].等级 = self.技能栏[self.技能序号['冥炎之卡洛']].等级
        self.技能栏[self.技能序号['冥炎之卡洛(灼烧)']
                 ].TP等级 = self.技能栏[self.技能序号['冥炎之卡洛']].TP等级
        self.技能栏[self.技能序号['冥炎剑']].等级 = self.技能栏[self.技能序号['冥炎之卡洛']].等级
        self.技能栏[self.技能序号['冥炎剑']].TP等级 = self.技能栏[self.技能序号['冥炎之卡洛']].TP等级

        self.技能栏[self.技能序号['鬼斩']].额外倍率 = self.技能栏[self.技能序号['噬灵鬼斩']].加成倍率()


class 极诣·鬼泣(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 极诣·鬼泣角色属性()
        self.角色属性A = 极诣·鬼泣角色属性()
        self.角色属性B = 极诣·鬼泣角色属性()
        self.一觉序号 = 极诣·鬼泣一觉序号
        self.二觉序号 = 极诣·鬼泣二觉序号
        self.三觉序号 = 极诣·鬼泣三觉序号
        self.护石选项 = deepcopy(极诣·鬼泣护石选项)
        self.符文选项 = deepcopy(极诣·鬼泣符文选项)

    def 界面(self):
        super().界面()
        self.布雷德开关 = QCheckBox('刀阵：直接解放', self.main_frame2)
        self.布雷德开关.setChecked(False)
        self.布雷德开关.resize(120, 20)
        self.布雷德开关.move(325, 450)
        self.布雷德开关.setStyleSheet(复选框样式)
        self.职业存档.append(('布雷德开关', self.布雷德开关, 0))

    def 输入属性(self, 属性, x=0):
        super().输入属性(属性, x)
        if self.布雷德开关.isChecked():
            属性.技能栏[属性.技能序号['幽魂之布雷德']].解放 = 0
